// 为了将本地存储和vuex中的数据同步
import { getItem, setItem } from "@/utils";
import { requestLogin, requestUserInfo,reqeustFocus,reqeustFans } from "@/api";

const state = {
  tokens: getItem("token"), //点击登录的时候再保存
  userInfo:{},//获取用户信息----id
  userFocus:{},//用户关注列表
  userFans:{},//用户的粉丝
};
const mutations = {
  //修改token
  SETTOKEN(state, data) {
    state.tokens = data;
    // 同时修改本地存储数据
    setItem("token", data);
  },
  // 获取用户信息
  GETUSERINFO(state,data){
    state.userInfo = data
    // 同时修改本地存储数据
  },
  // 获取用户的关注信息
  USERFOCUS(state,data){
    state.userFocus=data
  },
  // 获取用户的粉丝信息
  USERFANS(state,data){
    state.userFans=data
  }
};
const actions = {
  // 需改token
  async setToken({ commit }, params) {
    const res = await requestLogin(params);
    console.log('ress',res)
    commit("SETTOKEN", res.data);
  },
  // 获取用户信息 
   async getUserInfo({commit}){
    const res = await requestUserInfo(state.tokens.token)
    
    commit('GETUSERINFO',res.data)
  },
  // 获取用户的关注信息
  async getUserFocus({commit}){
    const res=await reqeustFocus({
      page:1,
      per_page:5
    })
    commit('USERFOCUS',res.data)
  },
  //获取用户的粉丝信息
  async getUserFans({commit}){
    const res=await reqeustFans()
    commit('USERFANS',res.data)
  }
};
export default {
  // namespaced: true,//开启命名空间
  state,
  mutations,
  actions,
};
